The performance of computer systems is of great importance to their owners, administrators and users. Such systems often include a number of independent components that are expected to interact with each other in predefined ways. To a user, much of these interactions may be transparent, but they are nevertheless essential to perform the requested operations and accomplish the desired results.
It is therefore a disadvantage when the computer system does not work as intended, because this slows down the users' work, may consume unnecessary system resources, and could have other consequences as well. The computer system is often tended to by expert staff to detect such issues and try to eliminate them or at least minimize their impact. There are also so-called help desks where users can report problems they have experienced and get help.
One aspect of addressing unexpected behavior in a system is to determine what component or aspect of the system is causing the malfunction. Often, there are a number of potential causes in the system that could be responsible for the symptom noticed by the user. It is therefore important to be able to localize the problem before attempting to resolve it. Existing techniques for this include tracing of the application execution and of the calls being made in the system.
Another aspect is to detect the errant behavior at an early stage. An application that has an error may exhibit gradually worse behavior over time, while continuing to perform the requested tasks, at least in principle. One example of such a gradually aggravated condition is the time for executing a specific routine. If there is a problem in the system, the application may successively require more and more time to perform the task, until it perhaps ceases to function entirely at some point. While the delay may be noticeable to the end user, it may not be significant enough (at first) to warrant a help center call, or the user may mistakenly attribute the slowness to another resource that is known to cause delays from time to time.